Actris 2.0: Asynchronous Session-Type Based Reasoning in Separation Logic
نویسندگان
چکیده
Message passing is a useful abstraction for implementing concurrent programs. For real-world systems, however, it often combined with other programming and concurrency paradigms, such as higher-order functions, mutable state, shared-memory concurrency, locks. We present Actris: logic proving functional correctness of programs that use combination the aforementioned features. Actris combines power modern separation logics first-class protocol mechanism -- based on session types reasoning about message in presence paradigms. show provides suitable level by variety examples, including channel-based merge sort, load-balancing mapper, variant map-reduce model, using concise specifications. While was already presented conference paper (POPL'20), this expands prior presentation significantly. Moreover, extends to 2.0 notion subprotocols session-type subtyping permits additional flexibility when composing channel endpoints, takes full advantage asynchronous semantics Actris. Soundness proven model its Iris framework. have mechanised theory Actris, together custom tactics, well all examples paper, Coq proof assistant.
منابع مشابه
Diagrammatic Reasoning in Separation Logic
Separation logic is used for reasoning about low-level imperative programs that manipulate pointer data structures. It enables the writing of concise proofs of correctness of the specifications of simple programs, and such proofs have been successfully automated. When reasoning informally about separation logic, it is often useful to draw diagrams representing program states, with memory locati...
متن کاملSeLoger: A Tool for Graph-Based Reasoning in Separation Logic
This paper introduces the tool SeLoger, which is a reasoner for satisfiability and entailment in a fragment of separation logic with pointers and linked lists. SeLoger builds upon and extends graphbased algorithms that have recently been introduced in order to settle both decision problems in polynomial time. Running SeLoger on standard benchmarks shows that the tool outperforms current state-o...
متن کاملLinear type theory for asynchronous session types
Session types support a type-theoretic formulation of structured patterns of communication, so that the communication behaviour of agents in a distributed system can be verified by static type checking. Applications include network protocols, business processes, and operating system services. In this paper we define a multithreaded functional language with session types, which unifies, simplifi...
متن کاملCut Reduction in Linear Logic as Asynchronous Session-Typed Communication
Prior work has shown that intuitionistic linear logic can be seen as a session-type discipline for the π-calculus, where cut reduction in the sequent calculus corresponds to synchronous process reduction. In this paper, we exhibit a new process assignment from the asynchronous, polyadic π-calculus to exactly the same proof rules. Proof-theoretically, the difference between these interpretations...
متن کاملResource Reasoning and Labelled Separation Logic
This thesis develops resource reasoning with separation logic in the areas of modular program specification, program optimization, and concurrency verification for heap-manipulating programs. In the first part, we investigate the resources that are required for modular and complete program specifications. Since the safety footprints of a program (the resources required for safe execution) do no...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Logical Methods in Computer Science
سال: 2022
ISSN: ['1860-5974']
DOI: https://doi.org/10.46298/lmcs-18(2:16)2022